{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据回归分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "from datetime import datetime, timedelta\n",
    "import statsmodels.api as sm\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from model.db import DB_ENGINE"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 构建时间块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(datetime.datetime(2018, 7, 18, 0, 0),\n",
       " datetime.datetime(2018, 9, 12, 0, 0),\n",
       " [('before3',\n",
       "   datetime.datetime(2018, 7, 18, 0, 0),\n",
       "   datetime.datetime(2018, 7, 25, 0, 0)),\n",
       "  ('before2',\n",
       "   datetime.datetime(2018, 7, 25, 0, 0),\n",
       "   datetime.datetime(2018, 8, 1, 0, 0)),\n",
       "  ('before1',\n",
       "   datetime.datetime(2018, 8, 1, 0, 0),\n",
       "   datetime.datetime(2018, 8, 8, 0, 0)),\n",
       "  ('issue',\n",
       "   datetime.datetime(2018, 8, 8, 0, 0),\n",
       "   datetime.datetime(2018, 8, 15, 0, 0)),\n",
       "  ('exchange',\n",
       "   datetime.datetime(2018, 8, 15, 0, 0),\n",
       "   datetime.datetime(2018, 8, 22, 0, 0)),\n",
       "  ('after1',\n",
       "   datetime.datetime(2018, 8, 22, 0, 0),\n",
       "   datetime.datetime(2018, 8, 29, 0, 0)),\n",
       "  ('after2',\n",
       "   datetime.datetime(2018, 8, 29, 0, 0),\n",
       "   datetime.datetime(2018, 9, 5, 0, 0)),\n",
       "  ('after3',\n",
       "   datetime.datetime(2018, 9, 5, 0, 0),\n",
       "   datetime.datetime(2018, 9, 12, 0, 0))])"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "labels = 'before3，before2，before1，issue，exchange，after1，after2，after3'.split('，')\n",
    "\n",
    "start = datetime(2018, 7, 18)\n",
    "delta = timedelta(weeks=1)\n",
    "\n",
    "TimeBoxes = []\n",
    "\n",
    "for label in labels:\n",
    "    TimeBoxes.append( (label, start, start+delta) )\n",
    "    start += delta\n",
    "\n",
    "START = TimeBoxes[0][1]\n",
    "END = TimeBoxes[-1][-1]\n",
    "\n",
    "START, END, TimeBoxes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>blockid</th>\n",
       "      <th>replycount</th>\n",
       "      <th>remarkcount</th>\n",
       "      <th>upCount</th>\n",
       "      <th>lencontent</th>\n",
       "      <th>posttime</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1179</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>75</td>\n",
       "      <td>2018-07-15 00:47:55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1179</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>96</td>\n",
       "      <td>2018-07-15 06:38:52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1179</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>340</td>\n",
       "      <td>2018-07-15 15:10:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1179</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>888</td>\n",
       "      <td>2018-07-16 09:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1179</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1253</td>\n",
       "      <td>2018-07-16 10:08:26</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    blockid  replycount  remarkcount  upCount  lencontent            posttime\n",
       "pid                                                                          \n",
       "1      1179           6            1        0          75 2018-07-15 00:47:55\n",
       "2      1179           6            2        0          96 2018-07-15 06:38:52\n",
       "3      1179           4            2        1         340 2018-07-15 15:10:31\n",
       "4      1179           5            2        0         888 2018-07-16 09:03:09\n",
       "5      1179           1            1        0        1253 2018-07-16 10:08:26"
      ]
     },
     "execution_count": 139,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_sql(\n",
    "    'SELECT p.pid, p.blockid, p.replycount, p.remarkcount,r.upCount, LENGTH(r.content) lencontent, r.posttime FROM posts p, replys r WHERE p.pid=r.pid AND r.replyid=0', \n",
    "    DB_ENGINE, \n",
    "    index_col='pid', \n",
    "    parse_dates=['posttime']\n",
    ")\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>replycount</th>\n",
       "      <th>remarkcount</th>\n",
       "      <th>upCount</th>\n",
       "      <th>lencontent</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>period</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0_before3</th>\n",
       "      <td>44.470699</td>\n",
       "      <td>7.006198</td>\n",
       "      <td>0.520098</td>\n",
       "      <td>1119.760331</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1_before2</th>\n",
       "      <td>56.833739</td>\n",
       "      <td>11.161773</td>\n",
       "      <td>1.203666</td>\n",
       "      <td>1082.518609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2_before1</th>\n",
       "      <td>82.304848</td>\n",
       "      <td>8.622537</td>\n",
       "      <td>4.269205</td>\n",
       "      <td>1147.683861</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3_issue</th>\n",
       "      <td>85.240181</td>\n",
       "      <td>9.750793</td>\n",
       "      <td>16.388387</td>\n",
       "      <td>831.310442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4_exchange</th>\n",
       "      <td>96.146855</td>\n",
       "      <td>10.521254</td>\n",
       "      <td>15.444797</td>\n",
       "      <td>813.831795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5_after1</th>\n",
       "      <td>89.504855</td>\n",
       "      <td>9.950179</td>\n",
       "      <td>22.930441</td>\n",
       "      <td>809.174900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6_after2</th>\n",
       "      <td>75.970422</td>\n",
       "      <td>9.422193</td>\n",
       "      <td>16.568387</td>\n",
       "      <td>832.612660</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7_after3</th>\n",
       "      <td>76.269487</td>\n",
       "      <td>10.947331</td>\n",
       "      <td>15.181882</td>\n",
       "      <td>904.289150</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            replycount  remarkcount    upCount   lencontent\n",
       "period                                                     \n",
       "0_before3    44.470699     7.006198   0.520098  1119.760331\n",
       "1_before2    56.833739    11.161773   1.203666  1082.518609\n",
       "2_before1    82.304848     8.622537   4.269205  1147.683861\n",
       "3_issue      85.240181     9.750793  16.388387   831.310442\n",
       "4_exchange   96.146855    10.521254  15.444797   813.831795\n",
       "5_after1     89.504855     9.950179  22.930441   809.174900\n",
       "6_after2     75.970422     9.422193  16.568387   832.612660\n",
       "7_after3     76.269487    10.947331  15.181882   904.289150"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_hist = df[df['posttime'].apply(lambda pt: pt>START and pt<END)].copy()\n",
    "\n",
    "def posttime_descret(pt):\n",
    "    for index, (label, start, end) in enumerate(TimeBoxes):\n",
    "        if pt > start and pt < end:\n",
    "            return '{}_{}'.format(index, label)\n",
    "    return 'invalid'\n",
    "\n",
    "data_hist['period'] = data_hist['posttime'].apply(posttime_descret)\n",
    "data_hist = data_hist.groupby(data_hist['period']).mean()\n",
    "data_hist"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1e14c8e5630>"
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用**帖子长度**和**楼主回帖数**和**板块**的虚拟变量作为控制变量，使用robust命令解决异方差的问题，以**天涯分发行和交易的时间**生成虚拟变量，考虑到论坛的活跃度可能与工作日和周末有关，所以取2018年7月18日到9月12日共8周的数据，将7月18日到8月1日两周作为基准，将后六周生成六个虚拟变量before，issue，exchange，after1，after2，after3。分别分析发行和可交易天涯分"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 构建回归数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>blockid</th>\n",
       "      <th>replycount</th>\n",
       "      <th>remarkcount</th>\n",
       "      <th>upCount</th>\n",
       "      <th>lencontent</th>\n",
       "      <th>posttime</th>\n",
       "      <th>before3</th>\n",
       "      <th>before2</th>\n",
       "      <th>before1</th>\n",
       "      <th>issue</th>\n",
       "      <th>exchange</th>\n",
       "      <th>after1</th>\n",
       "      <th>after2</th>\n",
       "      <th>after3</th>\n",
       "      <th>1179</th>\n",
       "      <th>develop</th>\n",
       "      <th>free</th>\n",
       "      <th>funinfo</th>\n",
       "      <th>worldlook</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1179</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>75</td>\n",
       "      <td>2018-07-15 00:47:55</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1179</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>96</td>\n",
       "      <td>2018-07-15 06:38:52</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1179</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>340</td>\n",
       "      <td>2018-07-15 15:10:31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1179</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>888</td>\n",
       "      <td>2018-07-16 09:03:09</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1179</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1253</td>\n",
       "      <td>2018-07-16 10:08:26</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    blockid  replycount  remarkcount  upCount  lencontent            posttime  \\\n",
       "pid                                                                             \n",
       "1      1179           6            1        0          75 2018-07-15 00:47:55   \n",
       "2      1179           6            2        0          96 2018-07-15 06:38:52   \n",
       "3      1179           4            2        1         340 2018-07-15 15:10:31   \n",
       "4      1179           5            2        0         888 2018-07-16 09:03:09   \n",
       "5      1179           1            1        0        1253 2018-07-16 10:08:26   \n",
       "\n",
       "     before3  before2  before1  issue  exchange  after1  after2  after3  1179  \\\n",
       "pid                                                                             \n",
       "1      False    False    False  False     False   False   False   False     1   \n",
       "2      False    False    False  False     False   False   False   False     1   \n",
       "3      False    False    False  False     False   False   False   False     1   \n",
       "4      False    False    False  False     False   False   False   False     1   \n",
       "5      False    False    False  False     False   False   False   False     1   \n",
       "\n",
       "     develop  free  funinfo  worldlook  \n",
       "pid                                     \n",
       "1          0     0        0          0  \n",
       "2          0     0        0          0  \n",
       "3          0     0        0          0  \n",
       "4          0     0        0          0  \n",
       "5          0     0        0          0  "
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = df.copy()\n",
    "for (label, start, end) in TimeBoxes:\n",
    "    data[label] = data['posttime'].apply(lambda pt: pt > start and pt < end)\n",
    "\n",
    "data = data.merge(pd.get_dummies(df['blockid']), on='pid')\n",
    "\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>blockid</th>\n",
       "      <th>replycount</th>\n",
       "      <th>remarkcount</th>\n",
       "      <th>upCount</th>\n",
       "      <th>lencontent</th>\n",
       "      <th>posttime</th>\n",
       "      <th>before3</th>\n",
       "      <th>before2</th>\n",
       "      <th>before1</th>\n",
       "      <th>issue</th>\n",
       "      <th>exchange</th>\n",
       "      <th>after1</th>\n",
       "      <th>after2</th>\n",
       "      <th>after3</th>\n",
       "      <th>1179</th>\n",
       "      <th>develop</th>\n",
       "      <th>free</th>\n",
       "      <th>funinfo</th>\n",
       "      <th>worldlook</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>1179</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>631</td>\n",
       "      <td>2018-07-18 11:06:12</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>1179</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1333</td>\n",
       "      <td>2018-07-18 11:22:13</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>1179</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>113</td>\n",
       "      <td>2018-07-18 11:22:31</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>1179</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1160</td>\n",
       "      <td>2018-07-18 11:52:30</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>1179</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3861</td>\n",
       "      <td>2018-07-18 12:07:57</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    blockid  replycount  remarkcount  upCount  lencontent            posttime  \\\n",
       "pid                                                                             \n",
       "40     1179           2            1        0         631 2018-07-18 11:06:12   \n",
       "41     1179           3            1        2        1333 2018-07-18 11:22:13   \n",
       "42     1179           5            5        0         113 2018-07-18 11:22:31   \n",
       "43     1179           2            1        0        1160 2018-07-18 11:52:30   \n",
       "44     1179           2            1        0        3861 2018-07-18 12:07:57   \n",
       "\n",
       "     before3  before2  before1  issue  exchange  after1  after2  after3  1179  \\\n",
       "pid                                                                             \n",
       "40      True    False    False  False     False   False   False   False     1   \n",
       "41      True    False    False  False     False   False   False   False     1   \n",
       "42      True    False    False  False     False   False   False   False     1   \n",
       "43      True    False    False  False     False   False   False   False     1   \n",
       "44      True    False    False  False     False   False   False   False     1   \n",
       "\n",
       "     develop  free  funinfo  worldlook  \n",
       "pid                                     \n",
       "40         0     0        0          0  \n",
       "41         0     0        0          0  \n",
       "42         0     0        0          0  \n",
       "43         0     0        0          0  \n",
       "44         0     0        0          0  "
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "validdf = data[data['posttime'].apply(lambda pt: pt>START and pt<END)]\n",
    "validdf.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0., ..., 0., 1., 1.],\n",
       "       [0., 0., 0., ..., 0., 1., 1.],\n",
       "       [0., 0., 0., ..., 0., 5., 1.],\n",
       "       ...,\n",
       "       [0., 0., 0., ..., 1., 7., 1.],\n",
       "       [0., 0., 0., ..., 1., 3., 1.],\n",
       "       [0., 0., 0., ..., 1., 2., 1.]])"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = np.column_stack((\n",
    "    validdf['before1'].values,\n",
    "    validdf['issue'].values,\n",
    "    validdf['exchange'].values,\n",
    "    validdf['after1'].values,\n",
    "    validdf['after2'].values,\n",
    "    validdf['after3'].values,\n",
    "    validdf['lencontent'].values,\n",
    "    validdf['develop'].values,\n",
    "    validdf['free'].values,\n",
    "    validdf['funinfo'].values,\n",
    "    validdf['worldlook'].values,\n",
    "    validdf['remarkcount'].values\n",
    "))\n",
    "xname=[\n",
    "    'before1',\n",
    "    'issue',\n",
    "    'exchange',\n",
    "    'after1',\n",
    "    'after2',\n",
    "    'after3',\n",
    "    'lencontent',\n",
    "    'develop',\n",
    "    'free',\n",
    "    'funinfo',\n",
    "    'worldlook',\n",
    "    'remarkcount',\n",
    "    'constant'\n",
    "]\n",
    "X = sm.add_constant(X, prepend=False)\n",
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>Robust linear Model Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>     <td>replycount</td>    <th>  No. Observations:  </th> <td> 65266</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                 <td>RLM</td>       <th>  Df Residuals:      </th> <td> 65253</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>               <td>IRLS</td>       <th>  Df Model:          </th> <td>    12</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Norm:</th>             <td>LeastSquares</td>   <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Scale Est.:</th>            <td>mad</td>       <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Cov Type:</th>              <td>H1</td>        <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>           <td>Wed, 12 Dec 2018</td> <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>               <td>19:33:11</td>     <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Iterations:</th>         <td>2</td>        <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "       <td></td>          <th>coef</th>     <th>std err</th>      <th>z</th>      <th>P>|z|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>before1</th>     <td>   32.0865</td> <td>   12.088</td> <td>    2.654</td> <td> 0.008</td> <td>    8.395</td> <td>   55.778</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>issue</th>       <td>   21.6964</td> <td>   10.258</td> <td>    2.115</td> <td> 0.034</td> <td>    1.592</td> <td>   41.801</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>exchange</th>    <td>   27.7532</td> <td>    9.653</td> <td>    2.875</td> <td> 0.004</td> <td>    8.833</td> <td>   46.673</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>after1</th>      <td>   26.3482</td> <td>    9.762</td> <td>    2.699</td> <td> 0.007</td> <td>    7.214</td> <td>   45.482</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>after2</th>      <td>   16.6363</td> <td>    9.459</td> <td>    1.759</td> <td> 0.079</td> <td>   -1.902</td> <td>   35.175</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>after3</th>      <td>    5.2841</td> <td>    9.355</td> <td>    0.565</td> <td> 0.572</td> <td>  -13.052</td> <td>   23.620</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>lencontent</th>  <td>    0.0009</td> <td>    0.002</td> <td>    0.466</td> <td> 0.641</td> <td>   -0.003</td> <td>    0.005</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>develop</th>     <td>   -9.5459</td> <td>    8.090</td> <td>   -1.180</td> <td> 0.238</td> <td>  -25.401</td> <td>    6.309</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>free</th>        <td>  -42.0076</td> <td>    7.578</td> <td>   -5.543</td> <td> 0.000</td> <td>  -56.860</td> <td>  -27.155</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>funinfo</th>     <td>    6.7803</td> <td>   10.208</td> <td>    0.664</td> <td> 0.507</td> <td>  -13.227</td> <td>   26.788</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>worldlook</th>   <td>    2.4669</td> <td>   10.564</td> <td>    0.234</td> <td> 0.815</td> <td>  -18.238</td> <td>   23.171</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>remarkcount</th> <td>    5.6822</td> <td>    0.030</td> <td>  188.069</td> <td> 0.000</td> <td>    5.623</td> <td>    5.741</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>constant</th>    <td>   20.9163</td> <td>    9.366</td> <td>    2.233</td> <td> 0.026</td> <td>    2.560</td> <td>   39.273</td>\n",
       "</tr>\n",
       "</table><br/><br/>If the model instance has been used for another fit with different fit<br/>parameters, then the fit options might not be the correct ones anymore ."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                    Robust linear Model Regression Results                    \n",
       "==============================================================================\n",
       "Dep. Variable:             replycount   No. Observations:                65266\n",
       "Model:                            RLM   Df Residuals:                    65253\n",
       "Method:                          IRLS   Df Model:                           12\n",
       "Norm:                    LeastSquares                                         \n",
       "Scale Est.:                       mad                                         \n",
       "Cov Type:                          H1                                         \n",
       "Date:                Wed, 12 Dec 2018                                         \n",
       "Time:                        19:33:11                                         \n",
       "No. Iterations:                     2                                         \n",
       "===============================================================================\n",
       "                  coef    std err          z      P>|z|      [0.025      0.975]\n",
       "-------------------------------------------------------------------------------\n",
       "before1        32.0865     12.088      2.654      0.008       8.395      55.778\n",
       "issue          21.6964     10.258      2.115      0.034       1.592      41.801\n",
       "exchange       27.7532      9.653      2.875      0.004       8.833      46.673\n",
       "after1         26.3482      9.762      2.699      0.007       7.214      45.482\n",
       "after2         16.6363      9.459      1.759      0.079      -1.902      35.175\n",
       "after3          5.2841      9.355      0.565      0.572     -13.052      23.620\n",
       "lencontent      0.0009      0.002      0.466      0.641      -0.003       0.005\n",
       "develop        -9.5459      8.090     -1.180      0.238     -25.401       6.309\n",
       "free          -42.0076      7.578     -5.543      0.000     -56.860     -27.155\n",
       "funinfo         6.7803     10.208      0.664      0.507     -13.227      26.788\n",
       "worldlook       2.4669     10.564      0.234      0.815     -18.238      23.171\n",
       "remarkcount     5.6822      0.030    188.069      0.000       5.623       5.741\n",
       "constant       20.9163      9.366      2.233      0.026       2.560      39.273\n",
       "===============================================================================\n",
       "\n",
       "If the model instance has been used for another fit with different fit\n",
       "parameters, then the fit options might not be the correct ones anymore .\n",
       "\"\"\""
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rc = np.array(validdf['replycount'])\n",
    "rc_model = sm.RLM(rc, X, M=sm.robust.norms.LeastSquares()).fit()\n",
    "rc_model.summary(yname='replycount', xname=xname)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>Robust linear Model Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>       <td>upCount</td>     <th>  No. Observations:  </th> <td> 65266</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                 <td>RLM</td>       <th>  Df Residuals:      </th> <td> 65253</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>               <td>IRLS</td>       <th>  Df Model:          </th> <td>    12</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Norm:</th>             <td>LeastSquares</td>   <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Scale Est.:</th>            <td>mad</td>       <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Cov Type:</th>              <td>H1</td>        <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>           <td>Wed, 12 Dec 2018</td> <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>               <td>19:09:45</td>     <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Iterations:</th>         <td>2</td>        <th>                     </th>    <td> </td>  \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "       <td></td>          <th>coef</th>     <th>std err</th>      <th>z</th>      <th>P>|z|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>before1</th>     <td>    2.8688</td> <td>    1.349</td> <td>    2.127</td> <td> 0.033</td> <td>    0.226</td> <td>    5.512</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>issue</th>       <td>   12.0032</td> <td>    1.144</td> <td>   10.489</td> <td> 0.000</td> <td>    9.760</td> <td>   14.246</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>exchange</th>    <td>   10.7634</td> <td>    1.077</td> <td>    9.995</td> <td> 0.000</td> <td>    8.653</td> <td>   12.874</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>after1</th>      <td>   19.0909</td> <td>    1.089</td> <td>   17.530</td> <td> 0.000</td> <td>   16.956</td> <td>   21.225</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>after2</th>      <td>   13.1389</td> <td>    1.055</td> <td>   12.452</td> <td> 0.000</td> <td>   11.071</td> <td>   15.207</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>after3</th>      <td>   10.7207</td> <td>    1.044</td> <td>   10.272</td> <td> 0.000</td> <td>    8.675</td> <td>   12.766</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>lencontent</th>  <td>   -0.0001</td> <td>    0.000</td> <td>   -0.528</td> <td> 0.598</td> <td>   -0.001</td> <td>    0.000</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>develop</th>     <td>   -3.8035</td> <td>    0.902</td> <td>   -4.215</td> <td> 0.000</td> <td>   -5.572</td> <td>   -2.035</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>free</th>        <td>  -13.4644</td> <td>    0.845</td> <td>  -15.926</td> <td> 0.000</td> <td>  -15.121</td> <td>  -11.807</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>funinfo</th>     <td>   -3.0708</td> <td>    1.139</td> <td>   -2.697</td> <td> 0.007</td> <td>   -5.303</td> <td>   -0.839</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>worldlook</th>   <td>   -3.6373</td> <td>    1.178</td> <td>   -3.086</td> <td> 0.002</td> <td>   -5.947</td> <td>   -1.327</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>remarkcount</th> <td>    0.1735</td> <td>    0.003</td> <td>   51.468</td> <td> 0.000</td> <td>    0.167</td> <td>    0.180</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>constant</th>    <td>    8.0751</td> <td>    1.045</td> <td>    7.729</td> <td> 0.000</td> <td>    6.027</td> <td>   10.123</td>\n",
       "</tr>\n",
       "</table><br/><br/>If the model instance has been used for another fit with different fit<br/>parameters, then the fit options might not be the correct ones anymore ."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                    Robust linear Model Regression Results                    \n",
       "==============================================================================\n",
       "Dep. Variable:                upCount   No. Observations:                65266\n",
       "Model:                            RLM   Df Residuals:                    65253\n",
       "Method:                          IRLS   Df Model:                           12\n",
       "Norm:                    LeastSquares                                         \n",
       "Scale Est.:                       mad                                         \n",
       "Cov Type:                          H1                                         \n",
       "Date:                Wed, 12 Dec 2018                                         \n",
       "Time:                        19:09:45                                         \n",
       "No. Iterations:                     2                                         \n",
       "===============================================================================\n",
       "                  coef    std err          z      P>|z|      [0.025      0.975]\n",
       "-------------------------------------------------------------------------------\n",
       "before1         2.8688      1.349      2.127      0.033       0.226       5.512\n",
       "issue          12.0032      1.144     10.489      0.000       9.760      14.246\n",
       "exchange       10.7634      1.077      9.995      0.000       8.653      12.874\n",
       "after1         19.0909      1.089     17.530      0.000      16.956      21.225\n",
       "after2         13.1389      1.055     12.452      0.000      11.071      15.207\n",
       "after3         10.7207      1.044     10.272      0.000       8.675      12.766\n",
       "lencontent     -0.0001      0.000     -0.528      0.598      -0.001       0.000\n",
       "develop        -3.8035      0.902     -4.215      0.000      -5.572      -2.035\n",
       "free          -13.4644      0.845    -15.926      0.000     -15.121     -11.807\n",
       "funinfo        -3.0708      1.139     -2.697      0.007      -5.303      -0.839\n",
       "worldlook      -3.6373      1.178     -3.086      0.002      -5.947      -1.327\n",
       "remarkcount     0.1735      0.003     51.468      0.000       0.167       0.180\n",
       "constant        8.0751      1.045      7.729      0.000       6.027      10.123\n",
       "===============================================================================\n",
       "\n",
       "If the model instance has been used for another fit with different fit\n",
       "parameters, then the fit options might not be the correct ones anymore .\n",
       "\"\"\""
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "uc = np.array(validdf['upCount'])\n",
    "uc_model = sm.RLM(uc, X, M=sm.robust.norms.LeastSquares()).fit()\n",
    "uc_model.summary(yname='upCount', xname=xname)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 作图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "from statsmodels.sandbox.regression.predstd import wls_prediction_std\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "\n",
    "x = validdf['lencontent']\n",
    "\n",
    "ax.plot(x, uc, 'o', label=\"Data\")\n",
    "\n",
    "ax.plot(x, uc_model.fittedvalues, 'r--.', label=\"Predicted\")\n",
    "\n",
    "legend = ax.legend(loc=\"best\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "\n",
    "x = validdf['remarkcount']\n",
    "rc = np.array(validdf['replycount'])\n",
    "\n",
    "ax.plot(x, y, 'o', label=\"Data\")\n",
    "ax.plot(x, model.fittedvalues, 'r--.', label=\"Predicted\")\n",
    "\n",
    "legend = ax.legend(loc=\"best\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
